package com.zucc.entity;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

@Table(name = "teach_room")
public class TeachRoom implements Serializable {
    /**
     * 表对象编号
     */
    @Id
    private Long id;

    /**
     * 是否被删除，0：未删除，1：已删除
     */
    @Column(name = "del_flag")
    private Integer delFlag;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    private Date createTime;

    /**
     * 创建人编号
     */
    @Column(name = "create_person_id")
    private Long createPersonId;

    /**
     * 最后修改时间
     */
    @Column(name = "modify_time")
    private Date modifyTime;

    /**
     * 最后修改人编号
     */
    @Column(name = "modify_person_id")
    private Long modifyPersonId;

    /**
     * 软删除时间
     */
    @Column(name = "delete_time")
    private Date deleteTime;

    /**
     * 删除人编号
     */
    @Column(name = "delete_person_id")
    private Long deletePersonId;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 实验室使用时间
     */
    private String time;

    /**
     * 承担教学任务名称
     */
    private String name;

    /**
     * 课程号
     */
    @Column(name = "class_code")
    private String classCode;

    /**
     * 课序号
     */
    @Column(name = "class_index")
    private String classIndex;

    /**
     * 教师名
     */
    private String teacher;

    /**
     * 学生人数
     */
    private Integer number;

    /**
     * 每次上课课时
     */
    @Column(name = "class_time")
    private String classTime;

    /**
     * 实际上课周数
     */
    @Column(name = "week_num")
    private String weekNum;

    /**
     * 上课周次（备注）
     */
    @Column(name = "week_remark")
    private String weekRemark;

    /**
     * 地点
     */
    private String address;

    /**
     * 审批状态，0:审批中，1:审批通过
     */
    @Column(name = "approval_status")
    private Integer approvalStatus;

    private static final long serialVersionUID = 1L;

    /**
     * 获取表对象编号
     *
     * @return id - 表对象编号
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置表对象编号
     *
     * @param id 表对象编号
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取是否被删除，0：未删除，1：已删除
     *
     * @return del_flag - 是否被删除，0：未删除，1：已删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否被删除，0：未删除，1：已删除
     *
     * @param delFlag 是否被删除，0：未删除，1：已删除
     */
    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    /**
     * 获取创建时间
     *
     * @return create_time - 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置创建时间
     *
     * @param createTime 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取创建人编号
     *
     * @return create_person_id - 创建人编号
     */
    public Long getCreatePersonId() {
        return createPersonId;
    }

    /**
     * 设置创建人编号
     *
     * @param createPersonId 创建人编号
     */
    public void setCreatePersonId(Long createPersonId) {
        this.createPersonId = createPersonId;
    }

    /**
     * 获取最后修改时间
     *
     * @return modify_time - 最后修改时间
     */
    public Date getModifyTime() {
        return modifyTime;
    }

    /**
     * 设置最后修改时间
     *
     * @param modifyTime 最后修改时间
     */
    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    /**
     * 获取最后修改人编号
     *
     * @return modify_person_id - 最后修改人编号
     */
    public Long getModifyPersonId() {
        return modifyPersonId;
    }

    /**
     * 设置最后修改人编号
     *
     * @param modifyPersonId 最后修改人编号
     */
    public void setModifyPersonId(Long modifyPersonId) {
        this.modifyPersonId = modifyPersonId;
    }

    /**
     * 获取软删除时间
     *
     * @return delete_time - 软删除时间
     */
    public Date getDeleteTime() {
        return deleteTime;
    }

    /**
     * 设置软删除时间
     *
     * @param deleteTime 软删除时间
     */
    public void setDeleteTime(Date deleteTime) {
        this.deleteTime = deleteTime;
    }

    /**
     * 获取删除人编号
     *
     * @return delete_person_id - 删除人编号
     */
    public Long getDeletePersonId() {
        return deletePersonId;
    }

    /**
     * 设置删除人编号
     *
     * @param deletePersonId 删除人编号
     */
    public void setDeletePersonId(Long deletePersonId) {
        this.deletePersonId = deletePersonId;
    }

    /**
     * 获取备注
     *
     * @return remarks - 备注
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 设置备注
     *
     * @param remarks 备注
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks == null ? null : remarks.trim();
    }

    /**
     * 获取实验室使用时间
     *
     * @return time - 实验室使用时间
     */
    public String getTime() {
        return time;
    }

    /**
     * 设置实验室使用时间
     *
     * @param time 实验室使用时间
     */
    public void setTime(String time) {
        this.time = time == null ? null : time.trim();
    }

    /**
     * 获取承担教学任务名称
     *
     * @return name - 承担教学任务名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置承担教学任务名称
     *
     * @param name 承担教学任务名称
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取课程号
     *
     * @return class_code - 课程号
     */
    public String getClassCode() {
        return classCode;
    }

    /**
     * 设置课程号
     *
     * @param classCode 课程号
     */
    public void setClassCode(String classCode) {
        this.classCode = classCode == null ? null : classCode.trim();
    }

    /**
     * 获取课序号
     *
     * @return class_index - 课序号
     */
    public String getClassIndex() {
        return classIndex;
    }

    /**
     * 设置课序号
     *
     * @param classIndex 课序号
     */
    public void setClassIndex(String classIndex) {
        this.classIndex = classIndex == null ? null : classIndex.trim();
    }

    /**
     * 获取教师名
     *
     * @return teacher - 教师名
     */
    public String getTeacher() {
        return teacher;
    }

    /**
     * 设置教师名
     *
     * @param teacher 教师名
     */
    public void setTeacher(String teacher) {
        this.teacher = teacher == null ? null : teacher.trim();
    }

    /**
     * 获取学生人数
     *
     * @return number - 学生人数
     */
    public Integer getNumber() {
        return number;
    }

    /**
     * 设置学生人数
     *
     * @param number 学生人数
     */
    public void setNumber(Integer number) {
        this.number = number;
    }

    /**
     * 获取每次上课课时
     *
     * @return class_time - 每次上课课时
     */
    public String getClassTime() {
        return classTime;
    }

    /**
     * 设置每次上课课时
     *
     * @param classTime 每次上课课时
     */
    public void setClassTime(String classTime) {
        this.classTime = classTime == null ? null : classTime.trim();
    }

    /**
     * 获取实际上课周数
     *
     * @return week_num - 实际上课周数
     */
    public String getWeekNum() {
        return weekNum;
    }

    /**
     * 设置实际上课周数
     *
     * @param weekNum 实际上课周数
     */
    public void setWeekNum(String weekNum) {
        this.weekNum = weekNum == null ? null : weekNum.trim();
    }

    /**
     * 获取上课周次（备注）
     *
     * @return week_remark - 上课周次（备注）
     */
    public String getWeekRemark() {
        return weekRemark;
    }

    /**
     * 设置上课周次（备注）
     *
     * @param weekRemark 上课周次（备注）
     */
    public void setWeekRemark(String weekRemark) {
        this.weekRemark = weekRemark == null ? null : weekRemark.trim();
    }

    /**
     * 获取地点
     *
     * @return address - 地点
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置地点
     *
     * @param address 地点
     */
    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public Integer getApprovalStatus() {
        return approvalStatus;
    }

    public void setApprovalStatus(Integer approvalStatus) {
        this.approvalStatus = approvalStatus;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", delFlag=").append(delFlag);
        sb.append(", createTime=").append(createTime);
        sb.append(", createPersonId=").append(createPersonId);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", modifyPersonId=").append(modifyPersonId);
        sb.append(", deleteTime=").append(deleteTime);
        sb.append(", deletePersonId=").append(deletePersonId);
        sb.append(", remarks=").append(remarks);
        sb.append(", time=").append(time);
        sb.append(", name=").append(name);
        sb.append(", classCode=").append(classCode);
        sb.append(", classIndex=").append(classIndex);
        sb.append(", teacher=").append(teacher);
        sb.append(", number=").append(number);
        sb.append(", classTime=").append(classTime);
        sb.append(", weekNum=").append(weekNum);
        sb.append(", weekRemark=").append(weekRemark);
        sb.append(", address=").append(address);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}